有關兩者的詳細比較就不深入去講,今天就只是講出它們兩者的差別,以及為什麼用Spring Boot。
不過要定決使用一個最合適MVC就要按實際需要去分析。
首先就要了解一下傳統SSH的結構是怎樣及扮演什麼角色,及Spring Boot和SSH的比較。
Spring是一個開源的設計層面框架 ,它的作用是負責業務邏輯層和其他各層的鬆耦合問題,管理Strut和 Hibernate。
Struts是一個開源框架(MVC) ,它的作用是負責整個系統的基礎結構及MVC分離以幫助我們減少在運用MVC設計模型時所需的開發時間。而Struts會利用Hibernate對持久層提供支持。對於混合使用Servlets和 JSP的設計上,struts能有更好的效果。
Hibernate是一個開源的物件關係對映框架(orm框架) ,它的作用是負責對JDBC進行物件封裝,它將POJO與資料庫表建立對映關係,hibernate可以自動生成SQL語句,自動執行,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫。
Model: Hibernate 會通過JavaBean來進行數據庫(資料庫)進行操作。成為Java 與數據庫的翻譯官。
View: 會通過JSP將資訊視像化讓用家能夠看到各種資料及進行互動。成為m一名出色的服務員。
Controller: Struts本身就是一個MVC框架,它會控制所有資訊流向,包括連接Model及View,成為一個執行司令官。
而Spring就凌駕於MVC之上,負責管理Struts和 Hibernate,及提供IOC容器和AOP功能。成為一個萬人之上的總指揮。
Spring Boot 與Spring MVC的關係就是Spring Boot以Spring MVC框架作為MVC框架,所以它們的運作理論是一樣,只要Spring Boot簡化了很多基礎配置。
Model: Spring Data JPA是一種框架,主要針對是 Spring 唯一沒有簡化到的業務邏輯代碼,從而減少開發時間。而底層的技術依然都是Hibernate。
View: 會通過Html將資訊視像化讓用家能夠看到各種資料及進行互動(官方的配置放棄JSP,但如果想堅持以JSP作為View的重心都是可以的,不過需要特別配置)。
Controller: Spring MVC本身是一個MVC框架,可以取代Struts以增加開發速成及安全性。
而負責管理Spring MVC和Spring Data JPA依然是Spring,同時也提供IOC容器和AOP功能。
不過,在它們之上的是Spring Boot這個軟件產品,它在建立Spring項目上掌控整個設計及配置。
如果有興趣想繼續了解和學習的話,歡迎訂閱及留意小弟的文章。
參考文章/網站/書本: